Data compression is a term generally used to refer to a technique for reducing the number of digits (or bits) required to represent image data. Image data can be compressed using a known data compression technique, such as arithmetic or Huffman encoding, and a standard data compression format, such as international Telecommunication Union (ITU) Group 3/4, Joint Bi-level Image experts Group (JBIG), or Joint Photographic Experts Group (JPEG). Data decompression, achieves the reverse, extracting the full image information from the compressed image data.
Arithmetic encoding is a well-known and efficient process for entropy encoding an input stream of image data. Entropy encoding is a process of compressing data (by assigning certain optimal numerical values called codes) based on a value of the probability of the image data. Arithmetic encoding is used in many data compression applications including the International Standard Organization (ISO) for JPEG and JBIG. Arithmetic decoding achieves the reverse of what the arithmetic encoding achieves by entropy decoding the encoded data stream and generating the image data from it. Entropy decoding is the reverse process of entropy encoding, wherein the data is retrieved from the assigned codes.
The maximum speed of the overall decoding process depends on the ability of the decoder to perform these (and other) calculations and decisions quickly. In existing entropy decoders however, the computations require a series of sequential processing steps which include a subtraction operation, a subsequent comparison operation that depends on the results of the previous subtraction operation, and another subsequent subtraction operation which again depends on the results of the previous comparison operation. These types of sequential operations that depend on the result of a previous operation impose a significant constraint on the decoding operation and considerably slows down the speed of the decoding process.
Therefore there is a need in the art for a faster decoding technique that does not have the dependencies inherent in the above-described sequential process to increase the speed of the decoding process.